home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / progrmng / mlpmodul.sit / MacLogimoPlus Documentation / DEF3 Files / QuickDraw2.DEF < prev    next >
Encoding:
Modula Definition  |  1990-06-14  |  6.2 KB  |  103 lines  |  [TEXT/PMED]

  1. DEFINITION MODULE QuickDraw2;   (* Franz Kronseder 08.06.85 *)
  2.                                 (* last modified   08.06.85 fxk*)
  3.  
  4. FROM MacBase IMPORT Point,LongInt;
  5. FROM QuickDraw IMPORT Rect,Pattern,RgnHandle,QDHandle;
  6.  
  7. EXPORT QUALIFIED
  8.   PolyHandle,PolyPtr,Polygon,PicHandle,PicPtr,Picture,
  9.   FrameRoundRect,PaintRoundRect,EraseRoundRect,InvertRoundRect,FillRoundRect,
  10.   FrameOval,PaintOval,EraseOval,InvertOval,FillOval,FrameArc,PaintArc,EraseArc,
  11.   InvertArc,FillArc,PtToAngle,SlopeFromAngle,AngleFromSlope,OpenPoly,ClosePoly,
  12.   KillPoly,OffsetPoly,MapPoly,FramePoly,PaintPoly,ErasePoly,InvertPoly,FillPoly,
  13.   NewRgn,DisposeRgn,CopyRgn,SetEmptyRgn,SetRectRgn,RectRgn,OpenRgn,CloseRgn,
  14.   OffsetRgn,MapRgn,InsetRgn,SectRgn,UnionRgn,DiffRgn,XorRgn,EqualRgn,EmptyRgn,
  15.   PtInRgn,RectInRgn,FrameRgn,PaintRgn,EraseRgn,InvertRgn,FillRgn,OpenPicture,
  16.   ClosePicture,DrawPicture,PicComment,KillPicture,GetPicture;
  17.  
  18. TYPE Fixed = LongInt;
  19. PolyHandle = POINTER TO PolyPtr;  PolyPtr = POINTER TO Polygon;
  20. Polygon =  RECORD polySize:INTEGER;  polyBBox:Rect;
  21.                   polyPoints: ARRAY[0..0] OF Point; END;
  22.          
  23. PicHandle = POINTER TO PicPtr;  PicPtr    = POINTER TO Picture;
  24. Picture   =  RECORD picSize:INTEGER;  picFrame:Rect; END;
  25.                (* plus byte codes for picture content *)
  26.  
  27.  
  28. (* RoundRect Routines *)
  29. PROCEDURE FrameRoundRect  (VAR r: Rect; ovWd,ovHt: INTEGER);    (*INLINE $A8B0*)
  30. PROCEDURE PaintRoundRect  (VAR r: Rect; ovWd,ovHt: INTEGER);    (*INLINE $A8B1*)
  31. PROCEDURE EraseRoundRect  (VAR r: Rect; ovWd,ovHt: INTEGER);    (*INLINE $A8B2*)
  32. PROCEDURE InvertRoundRect (VAR r: Rect; ovWd,ovHt: INTEGER);    (*INLINE $A8B3*)
  33. PROCEDURE FillRoundRect   (VAR r: Rect; ovWd,ovHt: INTEGER;VAR pat: Pattern);
  34.                                                                 (*INLINE $A8B4*)
  35. (* Oval Routines *)
  36. PROCEDURE FrameOval  (VAR r: Rect);                             (*INLINE $A8B7*)
  37. PROCEDURE PaintOval  (VAR r: Rect);                             (*INLINE $A8B8*)
  38. PROCEDURE EraseOval  (VAR r: Rect);                             (*INLINE $A8B9*)
  39. PROCEDURE InvertOval (VAR r: Rect);                             (*INLINE $A8BA*)
  40. PROCEDURE FillOval   (VAR r: Rect; VAR pat: Pattern);           (*INLINE $A8BB*)
  41.  
  42. (* Arc Routines *)
  43. PROCEDURE FrameArc  (VAR r: Rect; startAngle,arcAngle: INTEGER);(*INLINE $A8BE*)
  44. PROCEDURE PaintArc  (VAR r: Rect; startAngle,arcAngle: INTEGER);(*INLINE $A8BF*)
  45. PROCEDURE EraseArc  (VAR r: Rect; startAngle,arcAngle: INTEGER);(*INLINE $A8C0*)
  46. PROCEDURE InvertArc (VAR r: Rect; startAngle,arcAngle: INTEGER);(*INLINE $A8C1*)
  47. PROCEDURE FillArc   (VAR r: Rect; startAngle,arcAngle: INTEGER;VAR pat: Pattern);
  48.                                                                 (*INLINE $A8C2*)
  49. PROCEDURE PtToAngle (VAR r: Rect; pt: Point; VAR angle: INTEGER);(*INLINE $A8C3*)
  50. PROCEDURE SlopeFromAngle(angle: INTEGER): Fixed;                (*INLINE $A8BC*)
  51. PROCEDURE AngleFromSlope(slope: Fixed): INTEGER;                (*INLINE $A8C4*)
  52.  
  53. (* Polygon Routines *)
  54. PROCEDURE OpenPoly():    PolyHandle;                            (*INLINE $A8CB*)
  55. PROCEDURE ClosePoly;                                            (*INLINE $A8CC*)
  56. PROCEDURE KillPoly    (poly: PolyHandle);                       (*INLINE $A8CD*)
  57. PROCEDURE OffsetPoly  (poly: PolyHandle; dh,dv: INTEGER);       (*INLINE $A8CE*)
  58. PROCEDURE MapPoly     (poly: PolyHandle;VAR fromRect,toRect: Rect);(*INLINE $A8FC*)
  59. PROCEDURE FramePoly   (poly: PolyHandle);                       (*INLINE $A8C6*)
  60. PROCEDURE PaintPoly   (poly: PolyHandle);                       (*INLINE $A8C7*)
  61. PROCEDURE ErasePoly   (poly: PolyHandle);                       (*INLINE $A8C8*)
  62. PROCEDURE InvertPoly  (poly: PolyHandle);                       (*INLINE $A8C9*)
  63. PROCEDURE FillPoly    (poly: PolyHandle;VAR pat: Pattern);      (*INLINE $A8CA*)
  64.  
  65.  
  66. (* Region Calculations *)
  67. PROCEDURE NewRgn():   RgnHandle;                                (*INLINE $A8D8*)
  68. PROCEDURE DisposeRgn(rgn: RgnHandle);                           (*INLINE $A8D9*)
  69. PROCEDURE CopyRgn   (srcRgn,dstRgn: RgnHandle);                 (*INLINE $A8DC*)
  70. PROCEDURE SetEmptyRgn(rgn: RgnHandle);                          (*INLINE $A8DD*)
  71. PROCEDURE SetRectRgn(rgn: RgnHandle; left,top,right,bottom: INTEGER); (*INLINE $A8DE*)
  72. PROCEDURE RectRgn   (rgn: RgnHandle;VAR r: Rect);               (*INLINE $A8DF*)
  73. PROCEDURE OpenRgn;                                              (*INLINE $A8DA*)
  74. PROCEDURE CloseRgn  (dstRgn: RgnHandle);                        (*INLINE $A8DB*)
  75. PROCEDURE OffsetRgn (rgn: RgnHandle; dh,dv: INTEGER);           (*INLINE $A8E0*)
  76. PROCEDURE MapRgn    (rgn: RgnHandle;VAR fromRect,toRect: Rect); (*INLINE $A8FB*)
  77. PROCEDURE InsetRgn  (rgn: RgnHandle; dh,dv: INTEGER);           (*INLINE $A8E1*)
  78. PROCEDURE SectRgn   (srcRgnA,srcRgnB,dstRgn: RgnHandle);        (*INLINE $A8E4*)
  79. PROCEDURE UnionRgn  (srcRgnA,srcRgnB,dstRgn: RgnHandle);        (*INLINE $A8E5*)
  80. PROCEDURE DiffRgn   (srcRgnA,srcRgnB,dstRgn: RgnHandle);        (*INLINE $A8E6*)
  81. PROCEDURE XorRgn    (srcRgnA,srcRgnB,dstRgn: RgnHandle);        (*INLINE $A8E7*)
  82. PROCEDURE EqualRgn  (rgnA,rgnB: RgnHandle): BOOLEAN;            (*INLINE $A8E3*)
  83. PROCEDURE EmptyRgn  (rgn: RgnHandle): BOOLEAN;                  (*INLINE $A8E2*)
  84. PROCEDURE PtInRgn   (pt: Point; rgn: RgnHandle): BOOLEAN;       (*INLINE $A8E8*)
  85. PROCEDURE RectInRgn (VAR r: Rect; rgn: RgnHandle): BOOLEAN;     (*INLINE $A8E9*)
  86.  
  87. (* Graphical Operations on Regions *)
  88. PROCEDURE FrameRgn  (rgn: RgnHandle);                           (*INLINE $A8D2*)
  89. PROCEDURE PaintRgn  (rgn: RgnHandle);                           (*INLINE $A8D3*)
  90. PROCEDURE EraseRgn  (rgn: RgnHandle);                           (*INLINE $A8D4*)
  91. PROCEDURE InvertRgn (rgn: RgnHandle);                           (*INLINE $A8D5*)
  92. PROCEDURE FillRgn   (rgn: RgnHandle;VAR pat: Pattern);          (*INLINE $A8D6*)
  93.  
  94. (* Picture Routines *)
  95. PROCEDURE OpenPicture(VAR picFrame: Rect): PicHandle;           (*INLINE $A8F3*)
  96. PROCEDURE ClosePicture;                                         (*INLINE $A8F4*)
  97. PROCEDURE DrawPicture(myPicture: PicHandle;VAR dstRect: Rect);  (*INLINE $A8F6*)
  98. PROCEDURE PicComment(kind,dataSize: INTEGER; dataHandle: QDHandle);(*INLINE $A8F2*)
  99. PROCEDURE KillPicture(myPicture: PicHandle);                    (*INLINE $A8F5*)
  100. PROCEDURE GetPicture(picID: INTEGER):  PicHandle;               (*INLINE $A9BC*)
  101.  
  102. END QuickDraw2.
  103.